<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    var num = 20;
    console.log(num); //20

    /******************     函数 值类型的参数传递*****************************/
    //函数: count 是函数的形参
    /**
    *
    function 函数名(形参一, 形参二,.....) {
        函数体
    }
    */
    function fun(count) { //当没有调用函数的时候 形参的值 undefined
        count +=1;
        console.log(count); //传递过来的 实参值加一
    }

    fun(num);
    //调用函数 传递参数, 就是把 函数的实参 赋值给 函数的形参
    //值类型的赋值: 把当前变量储存的值(具体的数据)复制一份给接收的变量

    console.log(num); //20

    /***************函数 引用型的参数传递****************/
    var obj = {
        name:'老周'
    }
    console.log(obj.name); //老周

    function funobj(item) { //引用类型的赋值 :把当前变量储存的值(具体数据的引用即地址) 复制一份给接收的变量

        item.name = '老曾';
        console.log(item.name);//'老曾'
        
    }
    funobj(obj);
    console.log(obj.name);//老曾

    //案例
    var arr =[1,2,3];
    var arr2 = arr;

    console.log(arr,arr2); //[1,2,3],[1,2,3]

    function funArr(nums) {
        nums.push(4);
        console.log(nums); //[1,2,3,4]
    }
    // 调用函数
    funArr(arr2);
    console.log(arr,arr2); //[1,2,3,4],[1,2,3,4]


    //给arr2 重新赋值
    arr2=[1,2,3];
    console.log(arr,arr2);   //[1,2,3,4] ,[1,2,3]
    
    
    
    
    
    
    
    </script>
</body>
</html>